<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.prime.com.tr/ui"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:c="http://java.sun.com/jsp/jstl/core"
	template="/templates/crud-template.xhtml">
	
<ui:define name="content">
<div align="center">
<p:growl id="msgs" showDetail="true" sticky="false" life="8000"/>
<p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/>  
		    <p:dialog modal="true" widgetVar="statusDialog" header="Status"   
		        draggable="false" closable="false" resizable="false">  
		    	<p:graphicImage value="/resources/images/ajaxloadingbar.gif" />  
		    </p:dialog>
<h:form id="form" style="width: 800px;"> 
    <p:dataTable id="listaalumnos" var="alumno" value="#{alumnoBean.alumnos}" 
    emptyMessage="No hay alumnos a listar" widgetVar="alumnosTable"
    paginator="true" rows="5"  
    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
    rowsPerPageTemplate="5,10,15">  
  		<f:facet name="header">  
  		<div align="right">
            <p:outputPanel>  
                <h:outputText value="Busqueda:" />
                <p:inputText id="globalFilter" onkeyup="alumnosTable.filter()" style="width:150px" />  
            </p:outputPanel>  
        </div>
        </f:facet>
  		
  		<p:column headerText="Codigo">  
            <h:outputText value="#{alumno.strCodigoAlumno}" />  
        </p:column>
        
        <p:column headerText="Nombres">  
            <h:outputText value="#{alumno.strNombres}" />  
        </p:column>  
  
        <p:column headerText="Apellido Paterno" filterBy="#{alumno.strApellidoPaterno}" filterStyle="display:none">   
            <h:outputText value="#{alumno.strApellidoPaterno}"/>  
        </p:column> 
        
        <p:column headerText="Apellido Materno">  
            <h:outputText value="#{alumno.strApellidoMaterno}" />  
        </p:column>  

        <p:column style="width:100px">  
             <h:panelGrid columns="2" styleClass="actions" cellpadding="2">  
                 <p:commandButton update="dlgForm:display" oncomplete="carDialog.show()" image="ui-icon ui-icon-search" title="Vea el Detalle de los datos del alumno">  
                     <f:setPropertyActionListener value="#{alumno}" target="#{alumnoBean.selectedAlumno}" />  
                     <f:setPropertyActionListener value="#{false}" target="#{alumnoBean.editMode}" />  
                 </p:commandButton>  
                 <p:commandButton update="dlgForm:display" oncomplete="carDialog.show()" image="ui-icon ui-icon-pencil" title="Editar los datos del alumno" >  
                     <f:setPropertyActionListener value="#{alumno}" target="#{alumnoBean.selectedAlumno}" />  
                     <f:setPropertyActionListener value="#{true}" target="#{alumnoBean.editMode}" />  
                 </p:commandButton>  
             </h:panelGrid>  
        </p:column>
        
         <f:facet name="footer">  
         <div align="left">
         <p:commandButton value="Nuevo Alumno" update="dlgForm2:display2" oncomplete="carDialog2.show()"  image="ui-icon ui-icon-person" title="Registre un nuevo alumno en el sistema">  
				<f:setPropertyActionListener value="#{true}" target="#{alumnoBean.editMode}" />  
 		 </p:commandButton>
         </div>
        </f:facet> 
        
    </p:dataTable>  
        <p:confirmDialog message="Estas seguro?" width="350" height="200" 
                    showEffect="explode" hideEffect="explode"  
                    header="Confirm" severity="alert" widgetVar="confirmation" position="center">  
  
        <p:commandButton  type="submit" value="Si, asi es"  action="#{alumnoBean.inhabilitarAlumno}"  update=":form:listaalumnos" oncomplete="confirmation.hide()" ajax="false">
        </p:commandButton>  
        <p:commandButton value="No aun" onclick="confirmation.hide()" type="button" />  
  
    </p:confirmDialog>
  
</h:form> 
              
<p:dialog header="Detalle Alumno" widgetVar="carDialog" resizable="false" id="carDlg"  
                showEffect="fade" hideEffect="explode" modal="true" width="400" position="center">  
<h:form id="dlgForm" enctype="multipart/form-data">  
          <h:panelGrid id="display" columns="2" cellpadding="2" style="margin:0 auto;">  
            <h:outputText value="Codigo Alumno" />  
            <h:panelGroup>  
                <h:outputText value="#{alumnoBean.selectedAlumno.strCodigoAlumno}" style="font-weight:bold" rendered="#{!alumnoBean.editMode}"/>  
                <h:outputText value="#{alumnoBean.selectedAlumno.strCodigoAlumno}" style="font-weight:bold" rendered="#{alumnoBean.editMode}" />  
            </h:panelGroup>  
  
            <h:outputText value="Codigo Apoderado" />  
            <h:panelGroup>  
                <h:outputText value="#{alumnoBean.selectedAlumno.apoderados.personas.strCodigoPersona}" style="font-weight:bold" rendered="#{!alumnoBean.editMode}"/>  
                <h:outputText value="#{alumnoBean.selectedAlumno.apoderados.personas.strCodigoPersona}" style="font-weight:bold" rendered="#{alumnoBean.editMode}" />  
            </h:panelGroup>  
  
  			<h:outputText value="Nombres" />  
            <h:panelGroup>  
                <h:outputText value="#{alumnoBean.selectedAlumno.strNombres}" style="font-weight:bold" rendered="#{!alumnoBean.editMode}"/>  
                <p:inputText value="#{alumnoBean.selectedAlumno.strNombres}" rendered="#{alumnoBean.editMode}" required="true" label="Nombre" onkeypress="return validar(event)" style="font-weight:bold"/>  
            </h:panelGroup>  
            
            <h:outputText value="Apellido Paterno" />  
            <h:panelGroup>  
                <h:outputText value="#{alumnoBean.selectedAlumno.strApellidoPaterno}" style="font-weight:bold" rendered="#{!alumnoBean.editMode}"/>  
                <p:inputText id="apellidoPaternoAl" value="#{alumnoBean.selectedAlumno.strApellidoPaterno}" rendered="#{alumnoBean.editMode}" required="true" label="Apellido Paterno" onkeypress="return validar(event)" style="font-weight:bold"/>  
            </h:panelGroup>  
            
            <h:outputText value="Apellido Materno" />  
            <h:panelGroup>  
                <h:outputText value="#{alumnoBean.selectedAlumno.strApellidoMaterno}" style="font-weight:bold" rendered="#{!alumnoBean.editMode}"/>  
                <p:inputText id="apellidoMaternoAl" value="#{alumnoBean.selectedAlumno.strApellidoMaterno}" rendered="#{alumnoBean.editMode}" required="true" label="Apellido Materno" onkeypress="return validar(event)" style="font-weight:bold"/>  
            </h:panelGroup>  
            
            <h:outputText value="Fecha Nacimiento" />  
            <h:panelGroup>  
                <h:outputText value="#{alumnoBean.selectedAlumno.dtFecNac}" style="font-weight:bold" rendered="#{!alumnoBean.editMode}"/>  
                <p:calendar value="#{alumnoBean.selectedAlumno.fecha}" style="font-weight:bold"  pattern="yyyy-MM-dd" showOn="button" rendered="#{alumnoBean.editMode}" />  
            </h:panelGroup>

  			<h:outputText value="Estado" />  
            <h:panelGroup >  
                <h:outputText value="#{alumnoBean.selectedAlumno.strEstado}" style="font-weight:bold" rendered="#{!alumnoBean.editMode}"/>  
                <h:selectOneMenu value="#{alumnoBean.selectedAlumno.strEstado}" rendered="#{alumnoBean.editMode}"  required="true" style="font-weight:bold" >  
		            <f:selectItem itemLabel="MATRICULADO" itemValue="MATRICULADO" />  
		            <f:selectItem itemLabel="INACTIVO" itemValue="INACTIVO" /> 	        
		        </h:selectOneMenu>  
            </h:panelGroup>
           
           <h:outputText value="Foto" rendered="#{!alumnoBean.editMode}"/>
           <p:fileUpload sizeLimit="1048576" 
           auto="true" widgetVar="uploader" label="Cargar Foto"
           fileUploadListener="#{alumnoBean.cargarImagenActualiza}"
           allowTypes="*.jpg;*.png;*.gif;" description="Images" 
           update="msgs,dlgForm:imgFotoActualiza" multiple="false" customUI="true" required="true"
           rendered="#{alumnoBean.editMode}"/>
           <h:panelGroup >  
           <p:graphicImage id="imgFotoActualiza"  value="#{alumnoBean.selectedAlumno.scImagen}" cache="false"
             style="height:50%;width:50%"/>
  		  </h:panelGroup>  
  		   
          <f:facet name="footer"> 
                <p:outputPanel rendered="#{alumnoBean.editMode}" layout="block" style="text-align:center">
                <h:panelGroup>
					  <p:commandButton value="Grabar" 
					  actionListener="#{alumnoBean.actualizaAlumno}"  
					  update="form:listaalumnos msgs" 
                      image="ui-icon ui-icon-check"
                      oncomplete="onEditComplete(args)"/>
                    <p:commandButton value="Cancelar" onclick="carDialog.hide()" type="button" image="ui-icon ui-icon-close"/>
  				</h:panelGroup>
              </p:outputPanel>  
          </f:facet>  
        </h:panelGrid> 
       </h:form>
    </p:dialog>  
    
    <p:dialog header="Nuevo Alumno" widgetVar="carDialog2" resizable="false" id="carDlg2"  
                showEffect="fade" hideEffect="explode" modal="true" width="500" position="center" 
                onShow="limpiarTextBox('#dlgForm2')">  
	   <h:form id="dlgForm2" enctype="multipart/form-data">  
          <h:panelGrid id="display2" columns="2" cellpadding="2" style="margin:0 auto;" >  
  
            <h:outputText value="Documento Identidad" />  
            <h:panelGroup>
            	<p:inputMask  id="txtDNIAlumno" value="#{alumnoBean.nuevoAlumno.intDni}" style="font-weight:bold" required="true" mask="99999999" label="DNI" />*  
            </h:panelGroup>  
            
            <h:outputText value="Codigo Apoderado" />  
            <h:panelGroup>
            	<p:inputText  id="txtCodigoApoderado" value="#{alumnoBean.nuevoAlumno.apoderados.personas.strCodigoPersona}" style="font-weight:bold" required="true" readonly="true" onkeyup="falseador()" label="Código Apoderado"/>
                <p:commandButton image="ui-icon ui-icon-person" title="Busque o registre un apoderado para este alumno" onclick="carDialog3.show()" type="button">  
 		 		</p:commandButton>  
            </h:panelGroup> 
            
            <h:outputText value="Nombres" />  
            <h:panelGroup>
                <p:inputText id="txtNombres" value="#{alumnoBean.nuevoAlumno.strNombres}" style="font-weight:bold" required="true" onkeypress="return validar(event)" label="Nombre"/>*
            </h:panelGroup>  
            
            <h:outputText value="Apellido Paterno" />  
            <h:panelGroup>  
                <p:inputText id="txtApePat" value="#{alumnoBean.nuevoAlumno.strApellidoPaterno}" style="font-weight:bold" required="true" onkeypress="return validar(event)" label="Apellido Paterno"/>*
            </h:panelGroup>  
            
            <h:outputText value="Apellido Materno" />  
            <h:panelGroup>  
                <p:inputText id="txtApemat"  value="#{alumnoBean.nuevoAlumno.strApellidoMaterno}" style="font-weight:bold" required="true" onkeypress="return validar(event)" label="Apellido Materno"/>*  
            </h:panelGroup>  
            
             <h:outputText value="Fecha Nacimiento" />  
            <h:panelGroup>  
                <p:calendar id="dtFecNac" value="#{alumnoBean.nuevoAlumno.fechaNacimiento}" pattern="yyyy-MM-dd" showOn="button" required="true" requiredMessage="Seleccione un Fecha"  navigator="true" mindate="1989-01-01" maxdate="2007-12-31" readOnlyInputText="true" label="Fecha de Nacimiento">
                </p:calendar>*  
            </h:panelGroup>
            
           <h:outputText value="Nivel" />  
            <h:panelGroup >  
                <h:selectOneMenu id="cboNivel"  value="#{alumnoBean.nivelAlumno}" style="font-weight:bold" required="true" label="Nivel" requiredMessage="Seleccione Nivel"> 
		            <f:selectItem itemLabel="Seleccione Nivel" itemValue="#{0}"/>
		            <f:selectItem itemLabel="PRIMARIA" itemValue="PRIMARIA"/>
		            <f:selectItem itemLabel="SECUNDARIA" itemValue="SECUNDARIA" />
		            <p:ajax update="cboGrado" listener="#{alumnoBean.cargaComboListadoGrado}" />    
		        </h:selectOneMenu> *  
            </h:panelGroup>
            
            <h:outputText value="Grado" />  
            <h:panelGroup >  
                <h:selectOneMenu id="cboGrado" value="#{alumnoBean.gradoAlumno}" style="font-weight:bold" required="true"  label="Grado" requiredMessage="Seleccione Grado"> 
		             <f:selectItem itemLabel="Seleccione Grado" itemValue="#{null}" />
		             <f:selectItems value="#{alumnoBean.listaGrados}" /> 	        
		        </h:selectOneMenu>*  
            </h:panelGroup>
            
            <h:outputText value="Seccion" />  
            <h:panelGroup >  
                <h:selectOneMenu id="cboSeccion" value="#{alumnoBean.seccionAlumno}" style="font-weight:bold" required="true"  label="Sección" requiredMessage="Seleccione Sección"> 
		            <f:selectItem itemLabel="Seleccione Sección" itemValue="#{null}" />
		            <f:selectItem itemLabel="A" itemValue="A" />  
		            <f:selectItem itemLabel="B" itemValue="B" />
		            <f:selectItem itemLabel="C" itemValue="C" /> 	        
		        </h:selectOneMenu>*  
            </h:panelGroup>  
            
  			<h:outputText value="Estado" />  
            <h:panelGroup >  
                <h:selectOneMenu value="#{alumnoBean.nuevoAlumno.strEstado}" style="font-weight:bold" required="true"  label="Estado" requiredMessage="Seleccione Estado">  
		             <f:selectItem itemLabel="Seleccione Estado" itemValue="#{null}" />
		            <f:selectItem itemLabel="MATRICULADO" itemValue="MATRICULADO" />  
		            <f:selectItem itemLabel="INACTIVO" itemValue="INACTIVO" /> 	        
		        </h:selectOneMenu>*  
            </h:panelGroup>
 			
 			<h:outputText value="Distrito" />  
            <h:panelGroup>  
                <h:selectOneMenu value="#{alumnoBean.codigoDistrito}" style="font-weight:bold" required="true"  label="Distrito" requiredMessage="Seleccione un Distrito"> 
                    <f:selectItem itemLabel="Seleccione Distrito" itemValue="#{null}" />
		            <f:selectItems value="#{alumnoBean.listadistritos}" var="distrito" 
		            itemLabel="#{distrito.strNombreDistrito}" itemValue="#{distrito.intIdDistrito}" />  	        
		        </h:selectOneMenu>*  
            </h:panelGroup>
            
           <p:fileUpload sizeLimit="1048576" 
           auto="true" widgetVar="uploader" label="Cargar Foto"
           fileUploadListener="#{alumnoBean.cargarImagenInsertar}"
           allowTypes="*.jpg;*.png;*.gif;" description="Images" 
           update="msgs,dlgForm2:imgFotoInserta,dlgForm2:par,dlgForm2:url" multiple="false" customUI="true" required="true"/>
           <p:graphicImage id="imgFotoInserta"  value="#{alumnoBean.image}" cache="false"
             style="height:50%;width:50%"/>   
          <f:facet name="footer"> 
                <p:outputPanel rendered="true" layout="block" style="text-align:center">
                <h:panelGroup>
					  <p:commandButton value="Grabar" 
					  actionListener="#{alumnoBean.registraAlumno}"  
					  update="dlgForm2,form:listaalumnos msgs" 
                      image="ui-icon ui-icon-check"
                      oncomplete="onEditCompleteRegistrar(args)"/>
                    <p:commandButton value="Cancelar" onclick="carDialog2.hide()" type="button" image="ui-icon ui-icon-close"/>
  				</h:panelGroup>
              </p:outputPanel>  
          </f:facet>  
          
        </h:panelGrid> 
       </h:form>
    </p:dialog>
    
    <p:dialog header="Buscar Apoderado" widgetVar="carDialog3" resizable="false" id="carDlg3"  
                showEffect="fade" hideEffect="explode" modal="true" height="350" width="500" position="center">  
	   <h:form id="dlgForm3">  
	   	  <p:messages id="msgMensajes" />
          <h:panelGrid id="display3" columns="2" cellpadding="2" style="margin:0 auto;" >  
            <h:outputText value="DNI de Apoderado" />  
            <h:panelGroup>
            	<p:inputMask id="txtCodigoApoderado2" value="#{apoderadoBean.eldniApoderado}" mask="99999999" style="font-weight:bold" required="true" onkeyup="ocultarBoton1()" requiredMessage="Ingrese un DNI"/>
                <p:commandButton id="btnBuscadorApoderado"
					  actionListener="#{apoderadoBean.buscaApoderado}"  
					  update="dlgForm3" 
                      image="ui-icon ui-icon-search" title="Busque un apoderado segun el codigo"/>          
            </h:panelGroup>

          <f:facet name="footer"> 
                <p:outputPanel rendered="true" layout="block" style="text-align:center">
                <h:panelGroup>
                	<c:if test='#{apoderadoBean.apoderado.strCodigoPersona!=null}'>
                		<p:commandButton value="Seleccionar" actionListener="#{apoderadoBean.seteaApoderado}" id="btnSeleccionaApoderado"
						  update="dlgForm3 dlgForm2:txtCodigoApoderado msgs" 
	                      image="ui-icon ui-icon-check"
	                      oncomplete="carDialog3.hide()" >
	                      	<f:setPropertyActionListener value="#{apoderadoBean.apoderado.strCodigoPersona}" target="#{alumnoBean.nuevoAlumno.apoderados.personas.strCodigoPersona}" />
	                    </p:commandButton>
                	</c:if>
					<p:commandButton value="Nuevo Apoderado" onclick="carDialog4.show()" type="button" image="ui-icon ui-icon-person"/>
                    <p:commandButton value="Cancelar" onclick="carDialog3.hide()" type="button" image="ui-icon ui-icon-close"/>
  				</h:panelGroup>
              </p:outputPanel>  
          </f:facet>  
          
        </h:panelGrid> 
       </h:form>
    </p:dialog>
    
    <p:dialog header="Nuevo Apoderado" widgetVar="carDialog4" resizable="false" id="carDlg4"  
                showEffect="fade" hideEffect="explode" modal="true" width="500" position="center" 
                onShow="limpiarTextBox('#dlgForm4')">  
	   <h:form id="dlgForm4">
          <h:panelGrid id="display4" columns="2" cellpadding="2" style="margin:0 auto;" >  
  
            <h:outputText value="Nro. Documento de Identidad" />  
            <h:panelGroup>
            	<p:inputMask id="txtCodigoApo" value="#{apoderadoBean.nuevoApoderado.intDNI}" style="font-weight:bold" required="true" mask="99999999"/>
                <!--  <p:inputText id="txtCodigoApo" value="#{apoderadoBean.nuevoApoderado.strCodigoPersona}" style="font-weight:bold" required="true" maxlength="8"  >
                	<f:convertNumber minIntegerDigits="8" maxIntegerDigits="8" integerOnly="true"></f:convertNumber>
                </p:inputText>  -->
            </h:panelGroup>  

            <h:outputText value="Nombres" />  
            <h:panelGroup>  
                <p:inputText id="txtNombresApo" value="#{apoderadoBean.nuevoApoderado.strNombre}" style="font-weight:bold" required="true" onkeypress="return validar(event)"/>
            </h:panelGroup>  
            
            <h:outputText value="Apellido Paterno" />  
            <h:panelGroup>  
                <p:inputText id="txtApepatApo" value="#{apoderadoBean.nuevoApoderado.strApellidoPaterno}" style="font-weight:bold" required="true" onkeypress="return validar(event)"/>  
            </h:panelGroup>  
            
            <h:outputText value="Apellido Materno" />  
            <h:panelGroup>  
                <p:inputText id="txtApematApo"  value="#{apoderadoBean.nuevoApoderado.strApellidoMaterno}" style="font-weight:bold" required="true" onkeypress="return validar(event)"/>  
            </h:panelGroup>  
            
			<h:outputText value="Direccion" />  
            <h:panelGroup>  
                <p:inputText id="txtDireccionApo"  value="#{apoderadoBean.nuevoApoderado.strDireccion}" style="font-weight:bold" required="true"/>  
            </h:panelGroup> 
            
            <h:outputText value="Email" />  
            <h:panelGroup>
 				<p:inputText id="txtMailApo"  value="#{apoderadoBean.nuevoApoderado.strMail}" style="font-weight:bold" required="true"/>  
            </h:panelGroup> 
            
            <h:outputText value="Telefono" />  
            <h:panelGroup>
            	<p:inputMask id="txtTelfApo" value="#{apoderadoBean.nuevoApoderado.strTelefono}" style="font-weight:bold" required="true" mask="999-9999"/>
                <!--<p:inputText id="txtTelfApo"  value="#{apoderadoBean.nuevoApoderado.strTelefono}" style="font-weight:bold" required="true" maxlength="7">
                	<f:convertNumber minIntegerDigits="7" maxIntegerDigits="7" integerOnly="true"></f:convertNumber>
                </p:inputText>-->
            </h:panelGroup> 
            
            <h:outputText value="Celular" />  
            <h:panelGroup>
            	<p:inputMask id="txtCelApo" value="#{apoderadoBean.nuevoApoderado.strCelular}" style="font-weight:bold" required="true" mask="999999999"/>
                <!--<p:inputText id="txtCelApo"  value="#{apoderadoBean.nuevoApoderado.strCelular}" style="font-weight:bold" required="true" maxlength="9">
                	<f:convertNumber minIntegerDigits="9" maxIntegerDigits="9" integerOnly="true"></f:convertNumber>
                </p:inputText>-->
            </h:panelGroup>

            <h:outputText value="Sexo" />  
            <h:panelGroup>  
                <h:selectOneMenu value="#{apoderadoBean.nuevoApoderado.strSexo}" style="font-weight:bold" required="true"  >  
		            <f:selectItem itemLabel="MASCULINO" itemValue="1" />  
		            <f:selectItem itemLabel="FEMENINO" itemValue="0" />        
		        </h:selectOneMenu>  
            </h:panelGroup>     
           
           <h:outputText value="Distrito" />  
            <h:panelGroup>  
                <h:selectOneMenu value="#{apoderadoBean.codigoDistrito2}" style="font-weight:bold" required="true"  >  
		            <f:selectItems value="#{apoderadoBean.listadistritos2}" var="distrito2" 
		            itemLabel="#{distrito2.strNombreDistrito}" itemValue="#{distrito2.intIdDistrito}" ></f:selectItems>  	        
		        </h:selectOneMenu>  
            </h:panelGroup>
 
          <f:facet name="footer"> 
                <p:outputPanel rendered="true" layout="block" style="text-align:center">
                <h:panelGroup>
					  <p:commandButton value="Guardar" 
					  actionListener="#{apoderadoBean.registraApoderado}"  
					  update="dlgForm4:display4 dlgForm3:txtCodigoApoderado2 msgs" 
					  oncomplete="onEditCompleteRegistrarApoderado(args)"
                      image="ui-icon ui-icon-check">
                      	<f:setPropertyActionListener value="#{apoderadoBean.nuevoApoderado.intDNI}" target="#{apoderadoBean.eldniApoderado}" />
                      </p:commandButton>
                    <p:commandButton value="Cancelar" onclick="carDialog4.hide()" type="button" image="ui-icon ui-icon-close"/>
  				</h:panelGroup>
              </p:outputPanel>  
          </f:facet>  
          
        </h:panelGrid> 
       </h:form>
    </p:dialog>
    
</div>
</ui:define>

</ui:composition>